package ochart.renders.vector
{
	import ochart.core.PieChart;
	import ochart.core.XYChart;
	import ochart.elements.axes.RightYAxis;
	import ochart.elements.axes.Tick;
	import ochart.elements.axes.XAxis;
	import ochart.elements.axes.YAxis;
	import ochart.elements.background.Background;
	import ochart.elements.bars.Bar;
	import ochart.elements.labels.DataTip;
	import ochart.elements.labels.Label;
	import ochart.elements.labels.Title;
	import ochart.renders.IRendererFactory;
	import ochart.renders.Renderer;
	import ochart.renders.vector.core.PieChartRenderer;
	import ochart.renders.vector.core.XYChartRenderer;
	import ochart.renders.vector.elements.axes.RightYAxisRenderer;
	import ochart.renders.vector.elements.axes.TickRenderer;
	import ochart.renders.vector.elements.axes.XAxisRenderer;
	import ochart.renders.vector.elements.axes.YAxisRenderer;
	import ochart.renders.vector.elements.background.BackgroundRenderer;
	import ochart.renders.vector.elements.bars.BarRenderer;
	import ochart.renders.vector.elements.labels.DataTipRenderer;
	import ochart.renders.vector.elements.labels.LabelRenderer;
	import ochart.renders.vector.elements.labels.TitleRenderer;
	
	public class VectorRendererFactory implements IRendererFactory
	{
		public function VectorRendererFactory()
		{
		}
		
		public function create(alias:String):Renderer
		{
			switch(alias)
			{
				case XYChart.ALIAS:
					return new XYChartRenderer();
				case PieChart.ALIAS:
					return new PieChartRenderer();
					
				case Bar.ALIAS:
					return new BarRenderer();
					
				case Background.ALIAS:
					return new BackgroundRenderer();
				case DataTip.ALIAS:
					return new DataTipRenderer();
				case Label.ALIAS:
					return new LabelRenderer();
				case Title.ALIAS:
					return new TitleRenderer();
				case Tick.ALIAS:
					return new TickRenderer();
					
				case XAxis.ALIAS:
					return new XAxisRenderer();
				case YAxis.ALIAS:
					return new YAxisRenderer();
				case RightYAxis.ALIAS:
					return new RightYAxisRenderer();
			}
			return null;
		}
	}
}